home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / stat.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  2KB  |  78 lines

  1. #ifndef _LINUX_STAT_H
  2. #define _LINUX_STAT_H
  3.  
  4. #ifdef __KERNEL__
  5.  
  6. #include <asm/stat.h>
  7.  
  8. #endif
  9.  
  10. #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
  11.  
  12. #define S_IFMT  00170000
  13. #define S_IFSOCK 0140000
  14. #define S_IFLNK     0120000
  15. #define S_IFREG  0100000
  16. #define S_IFBLK  0060000
  17. #define S_IFDIR  0040000
  18. #define S_IFCHR  0020000
  19. #define S_IFIFO  0010000
  20. #define S_ISUID  0004000
  21. #define S_ISGID  0002000
  22. #define S_ISVTX  0001000
  23.  
  24. #define S_ISLNK(m)    (((m) & S_IFMT) == S_IFLNK)
  25. #define S_ISREG(m)    (((m) & S_IFMT) == S_IFREG)
  26. #define S_ISDIR(m)    (((m) & S_IFMT) == S_IFDIR)
  27. #define S_ISCHR(m)    (((m) & S_IFMT) == S_IFCHR)
  28. #define S_ISBLK(m)    (((m) & S_IFMT) == S_IFBLK)
  29. #define S_ISFIFO(m)    (((m) & S_IFMT) == S_IFIFO)
  30. #define S_ISSOCK(m)    (((m) & S_IFMT) == S_IFSOCK)
  31.  
  32. #define S_IRWXU 00700
  33. #define S_IRUSR 00400
  34. #define S_IWUSR 00200
  35. #define S_IXUSR 00100
  36.  
  37. #define S_IRWXG 00070
  38. #define S_IRGRP 00040
  39. #define S_IWGRP 00020
  40. #define S_IXGRP 00010
  41.  
  42. #define S_IRWXO 00007
  43. #define S_IROTH 00004
  44. #define S_IWOTH 00002
  45. #define S_IXOTH 00001
  46.  
  47. #endif
  48.  
  49. #ifdef __KERNEL__
  50. #define S_IRWXUGO    (S_IRWXU|S_IRWXG|S_IRWXO)
  51. #define S_IALLUGO    (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO)
  52. #define S_IRUGO        (S_IRUSR|S_IRGRP|S_IROTH)
  53. #define S_IWUGO        (S_IWUSR|S_IWGRP|S_IWOTH)
  54. #define S_IXUGO        (S_IXUSR|S_IXGRP|S_IXOTH)
  55.  
  56. #include <linux/types.h>
  57. #include <linux/time.h>
  58.  
  59. struct kstat {
  60.     unsigned long    ino;
  61.     dev_t        dev;
  62.     umode_t        mode;
  63.     unsigned int    nlink;
  64.     uid_t        uid;
  65.     gid_t        gid;
  66.     dev_t        rdev;
  67.     loff_t        size;
  68.     struct timespec  atime;
  69.     struct timespec    mtime;
  70.     struct timespec    ctime;
  71.     unsigned long    blksize;
  72.     unsigned long    blocks;
  73. };
  74.  
  75. #endif
  76.  
  77. #endif
  78.